#include <ros/ros.h>
#include <std_msgs/Float64.h>

int main(int argc ,char **argv)
{
    ros::init(argc,argv,"minimal_publisher");//节点的名称
    ros::NodeHandle n;//这是创建一个ros NodeHandle对象，这个节点可以进行建立节点的网络通信

    ros::Publisher my_publisher_object = n.advertise<std_msgs::Float64>("publisher1",1);
    //实例化一个ros::Publisher的对象
    //“publisher”是话题名称
    // 1,是缓冲队列大小是1,这个数值可以更大。如果是1000甚至更大，发布频率太快，在完成最新的时候，那么可能直接导致要缓冲1000条消息

    std_msgs::Float64 input_float;//创建一个变量
    //消息类型定义在ros系统中
    //需要发布数据，自然需要进行，话题数据就需要有一个预订的消息类型
    //根据这个消息，订阅器才知道在怎么进行解码消息，并利用。


    ros::Rate naptime(1.0);
    //创建一个ros::Rata对象，并设置频率数值大小
    
    input_float.data = 0.0;



    while (ros::ok())
    {
        input_float.data = input_float.data + 0.001;
        //每循环增加0.001;

        my_publisher_object.publish(input_float);
        //发布数据在话题上，也就是话题publisher上

        naptime.sleep();
        //使循环达到指定的频率。
    }

}
